C++ DLL 链接 Unresolved external
全部标签 我现在正在使用pyinstaller为window10制作一个exe。我最大的问题是我如何能够通过从我的IDE运行程序来完美地运行和工作。但是当我使用pyinstaller时它缺少许多dll并且不起作用?我正在使用代码"Pyinstaller.pyMain.py"也试过--onefile,--windowedoptions..将所有第3方模块导入pyinstaller的正确方法是什么?我正在使用python2.7在Windows1064位上工作。这些是在pyinstaller制作exe时缺少的库:9661警告:找不到库:LIBEAY32.dll10082警告:找不到库:SSLEAY32
在我的工作场所,我们的产品编译成可执行文件,子项目链接为静态库(.lib)或共享库(.dll)。我们使用MicrosoftC++编译器。最近,我的一位同事将一个子项目目标从.lib(静态库)转换为.o(目标文件),并且该子项目的链接时间急剧减少。早些时候,.lib链接需要大约1.5分钟。通过链接到.o,链接时间几乎为5-6秒。为什么链接.lib比链接.o慢? 最佳答案 如果您所做的只是编译源代码以创建目标文件,那么您根本就没有执行链接。这意味着任何对源代码中存在的外部函数和变量的引用都不会起作用,因为它们的地址尚未解析。https:
我正在寻找一种方法来使用符号链接(symboliclink)或硬链接(hardlink)来诱使程序认为文件实际上位于网络共享上时位于特定目录中。我知道可以通过Junction和Vista及更高版本使用符号链接(symboliclink),但这是一台WindowsXPFat32计算机(Junction仅适用于NTFS)。有问题的程序是AbeBooks的HomeBase3。根据他们的技术人员的说法,自从从2.3升级到3后,所有网络都被禁用,唯一的方法是找到某种方式让homebase.sqlite文件共享给两者。问题是他们声称无法更改配置,并且该程序只会查看SharedDocs\Homeba
为什么Windows在调用LoadLibrary时不需要完整的文件路径,或者对于带有已注册DLL的CLSID等。在什么情况下有人会受益于不得不退回到DLL搜索顺序来查找dll?我的意思是,%SystemRoot%或%ProgramFiles%等变量可以将您带到适当的文件夹,而.\会让您留在当前目录中。那么为什么要含糊其词? 最佳答案 对于与GetProcAddress()的显式链接,我认为应该尽可能使用DLL的绝对路径。对于与.lib文件的隐式链接,必须在链接时确定DLL的名称,这排除了绝对路径。最安全的做法是将DLL放在与可执行文
我在C应用程序(VS2008,Win)中调用了一个用Borland中的Delphi编写的dll中的函数。该函数有效,但每次调用后我都会收到此错误:“ESP的值未在函数调用中正确保存[...]”,这意味着我的调用约定是错误的。我不知道Delphi,也没有完整的dll代码,但我相信这是Delphi函数:functiontranslate(file1,file2:PChar):PChar;stdcall;...Result:=PChar(c);end;exportstranslate;c中的相关部分:typedefchar*(__stdcall*translate)(char*,char*)
具体来说,我想知道同一session中的两个进程的kernel32.dll加载地址是否可以不同?我想使用createremote线程,所以只想知道在任何情况下,远程进程中的kernel32加载地址是否可以不同于注入(inject)进程? 最佳答案 Kernel32.dll在所有进程上具有相同的基址,以允许您执行您想要执行的操作。阅读:WhyarecertainDLLsrequiredtobeatthesamebaseaddresssystem-wide? 关于windows-我们可以re
我的应用程序在使用延迟加载DLL时出现间歇性崩溃。我们在几个不同的调用堆栈中看到了崩溃,但在__delayLoadHelper2中引发0xC06D007E:Modulenotfound时它总是崩溃。连续(串联)多次调用流程时引发异常。这是一个示例调用堆栈:KERNELBASE.dll!RaiseException()+0x3dbytesMYDLL.dll!__delayLoadHelper2(constImgDelayDescr*pidd=0x000000000012f650,__int64(void)**ppfnIATEntry=0x000000000012f570)Line331C
我在应用程序中包含了ServerAppFabric.Client.1.0.2912以执行一些基本的缓存诊断。但是,当我尝试使用缓存API时,我得到了这个异常:Caughtunhandledexception:System.TypeInitializationException:Thetypeinitializerfor'Microsoft.ApplicationServer.Caching.ConfigManager'threwanexception.--->System.IO.FileNotFoundException:Couldnotloadfileorassembly'Micro
我使用注册表“运行”键在用户每次登录Windows时自动执行我的程序(使用HKCU\Software\Microsoft\Windows\CurrentVersion\Run注册表路径)。我的应用程序首先使用CommandLineDLL-Injector将DLL注入(inject)到explorer.exe进程中.效果应该是:每次用户登录后(重启Windows后)——我的应用程序被执行,我的DLL被注入(inject)到explorer.exe在某些情况下它可以工作,但在少数情况下(时间问题,很少重现),注入(inject)器和explorer.exe进程都死锁并且没有响应。我不确定,
好吧,关于我一直从事的项目,我遇到了一个非常奇怪的问题。该项目是一个3D引擎(分别使用SDL和openGL进行输入处理和图形处理)。在过去的几个月里,我一直在linux(Ubuntu10.10)中从事这个项目,最近决定将代码移植到Windows7环境中。我选择SDL的主要原因之一是它独立于操作系统处理窗口创建,这意味着从一个操作系统移植到另一个操作系统应该相当简单。我在编译或链接时没有遇到问题,问题是完全相同的代码显然没有理由以两种完全不同的方式运行。首先,一个差异的可视化示例:http://i.stack.imgur.com/RNcCs.jpg它不应该这样看,首先左下角的紫色revt